Handheld code reader having a motion sensor

ABSTRACT

A method and apparatus for use with a handheld code reader that has a plurality of operating characteristics where each operating characteristic can have a plurality of different states wherein a recipe includes a specific set of states of at least first and second characteristics, the method for switching between recipes and comprising the steps of specifying a circumstance set including at least one of reader orientation and a threshold movement level for the reader, monitoring at least one of movement and orientation of the reader, determining when the circumstance set occurs and changing from a current recipe to a next recipe when the circumstance set occurs.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent applicationSer. No. 11/962,339 which was titled “HANDHELD CODE READER HAVING AMOTION SENSOR” and which was filed on Dec. 21, 2007 now U.S. Pat. No.7,857,218.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

BACKGROUND OF THE INVENTION

The present invention relates to the field of symbol or mark readersused to read marks (e.g., bar codes, etc.) directly on objects and morespecifically to a reader that includes a motion sensor to provideenhanced reader functionality by adjusting reader operatingcharacteristics based on sensed reader motion.

Mark or symbol reading entails the aiming of an image acquisition sensor(a CMOS camera, CCD, etc. contained within a reader) at a location on anobject at which a symbol or mark has been applied, and acquiring animage of that mark. Each mark contains a set of predetermined patternsthat represent an ordered group of characters or shapes that can bedecoded by a processor to obtain useful information about the object(e.g. serial number, type, model, price, etc.).

During acquisition of an image of a mark, the type of illuminationemployed can directly affect the quality of the obtained image. Forinstance, where a mark is printed on a flat surface with contrasting inkor paint, high-angle “bright field” illumination often best illuminatesmark features. By high-angle it is meant, generally, that light strikesthe surface on which the mark is applied nearly perpendicularly (normal)or at an angle that is typically no less than about 45 degrees fromperpendicular (normal) to the surface. Such illumination is subject tosubstantial reflection back toward im imaging sensor.

As another instance, where a mark is applied on a more irregular surfaceor created by etching or peening a pattern directly on a surface, theuse of highly reflective bright field illumination may not be optimal. Apenned/etched surface has two-dimensional properties that tend toscatter bright field illumination, thereby affecting the quality of theacquired image. In these cases, marks are often best illuminated viadark field illumination directed at the surface on which a mark isapplied at a relatively low angle (e.g., approximately 45 degrees orless). Using such low-angle dark field illumination, two-dimensionalsurface texture is contrasted more effectively (with indents appearingas bright spots and surroundings as shadows) for better imageacquisition.

In other cases, diffuse direct illumination may be optimal for imagingpurposes. Such illumination is typically produced using adirect-projected light source (e.g. from LEDs) passing through adiffuser to produce a desired illumination effect.

When attempting to read and decode various types of marks on parts orcomponents, it may be desirable to initially try one illumination type,such as bright field illumination. If the mark is not able to be readusing bright field illumination, the reader may obtain an image of themark using a second type of illumination, a third type of illumination,and so on. Some code readers have a dial or switch that must be manuallytoggled to change illumination modes. Manually stepping throughillumination types via a switch is cumbersome and typically increasesthe length of time needed to successfully read a mark. Attempts to solvethis problem have been made by developing a reader that sequentiallysteps through illumination modes while acquiring images of a mark andattempting to decode the marks in the images. This is not an optimalsolution, however, as this solution may increase the length of timebefore a code is successfully read and decoded and additionalswitches/dials increase reader costs.

Similarly, depending on the type of mark to be imaged and decoded,different decoding algorithms may be employed. In some cases a readeruser may be able to manually select via a dial or the like whichdecoding algorithm to use. In other cases a reader may be programmed tostep through a series of decoding algorithms in attempts to decode amark. As in the case of different illumination settings, switchingbetween different decoding algorithms can be cumbersome and additionaldials or switches can increase costs appreciably.

Other problems with capturing high quality images of marks via a readerare related to reader movement during imaging. To this end, if a readeris moving while an image of a mark is being captured the image can beblurred which often renders the mark in the image unable to be decoded.

In addition, reader movement can increase auto-focus time required to,as the label implies, focus a reader lens assembly on a mark to beimaged. To this end, typical readers can obtain an image of a marksuitable for decoding when the distance between the reader and the markis anywhere within a range of distances by changing a focal length ofthe reader's field of view. Here, for instance, if a reader is twentyinches from a surface on which a mark has been applied and is movedtoward the mark, a reader processor may be programmed to recognize thatthe mark is out of focus and hunt for a lens setting that brings themark back into focus. A typical hunting process may include driving thereader lenses to juxtapositions consistent with one end of the range offocus (i.e., twenty-five inch focus) and then acquiring mark images asthe focal length of the field of view is altered until the mark is againin focus. While this solution works well in some applications, onedrawback is that the focus settling time can be increased appreciablywhen the in focus hunting process initially progresses in the wrongdirection. For instance, where a reader is moved toward a mark but thereader is programmed to increase the focal length of the field of viewwhen a mark becomes unfocused, the hunting process starts hunting in thewrong direction and settling time (i.e., focusing time) is increased.Excess focus settling time and image capturing time is bothersome.

BRIEF SUMMARY OF THE INVENTION

The present invention overcomes the disadvantages of the prior art byproviding an improved system and method for reading and decoding marksapplied on the surface of an object. In an illustrative embodiment, amotion sensor coupled to a handheld code reader senses movement of thereader when moved by a user. This information is then used by the readerto adjust the necessary operating characteristics in order to provideimproved code reading functionality such as selecting an exposure periodand associated movement for imaging and controlling the direction offocus as a function of the direction of movement of the reader.

In another embodiment a reader may be provided where different operatingcharacteristics may be selected by the user by simply moving the readerin a pre-specified movement pattern. For instance, where a reader hasfive different illumination modes, a reader may be able to cycle fromone mode to the next in the series of five modes by rotating the readerabout an imaging axis by at least 45° in the counter-clockwisedirection. As another example one of a plurality of decoding algorithmsmay be selectable in a similar fashion.

Consistent with the above, some embodiments include a method for usewith a handheld code reader that has an operating characteristic thatcan have at least first and second different states, the method forswitching between the different states of the operating characteristic,the method comprising the steps of specifying a circumstance setincluding at least one of reader orientation and a threshold movementlevel for the reader, monitoring at least one of movement andorientation of the reader, determining when the circumstance set occursand changing the operating characteristic state when the circumstanceset occurs, wherein the operating characteristic is one of anillumination mode and a code decoding algorithm.

In some embodiments the circumstance set includes a threshold movementlevel of the reader and the handheld code reader includes a movementaxis, the movement detected including movement with respect to themovement axis. In some cases the movement detected includes rotationsubstantially about the movement axis. In some cases the code readerincludes an image obtaining component that has a field of view (FOV)centered on the movement axis and the movement detected includesrotation substantially around the movement axis.

In some cases the threshold movement level specifies rotationsubstantially around the movement axis through a threshold rotationangle. In some cases the threshold rotation angle is between 45 degreesand 180 degrees. In some cases the code reader includes an imageobtaining component that has a field of view (FOV) centered on an FOVaxis, the movement detected includes rotation substantially about themovement axis and the movement axis is substantially parallel to the FOVaxis.

In some embodiments the code reader movement is sensed by a motionsensor. In some cases the motion sensor is an accelerometer. In somecases the code reader includes a trigger member and the step of changingthe operating characteristic state includes changing the state when thetrigger member is activated and the detected reader movement exceeds thethreshold movement level.

Other embodiments include a method for use with a handheld code readerto select at least one reader operating characteristic, the methodcomprising the steps of detecting movement of the handheld code readerand determining, based on the movement of the reader, an optimum settingfor the at least one reader operating characteristic, wherein the atleast one operating characteristic includes at least one of lens focusand exposure time.

In some cases the at least one reader operating characteristic is lensfocus and the optimum setting for the at least one operatingcharacteristic includes a lens focusing setting that is altered as thecode reader is moved toward and away from a code to be read. In somecases the at least one reader operating characteristic is exposure timeand the optimum setting reduces the exposure time as the degree ofmovement increases.

In some embodiments the sensing movement step further includes sensingthe direction of movement of the reader.

Still other embodiments include an apparatus for use with a handheldcode reader that has an operating characteristic that can have at leastfirst and second different states, the apparatus for switching betweenthe different states of the operating characteristic, the apparatuscomprising a sensor for detecting at least one of movement of thehandheld code reader and orientation of the reader, a comparator forcomparing the at least one of detected reader movement and readerorientation to at least one of a threshold movement level and a specificorientation and determining at least one of when the detected readermovement exceeds the threshold movement level and the reader is orientedin the specific orientation and a characteristic selector for changingbetween the different states of the operating characteristic when the atleast one of detected reader movement exceeds the threshold movementlevel and the reader is in the specific orientation, wherein theoperating characteristic is one of an illumination mode and a codedecoding setting.

In some cases the handheld code reader includes a movement axis andwherein the sensor detects movement with respect to the movement axis.In some cases the code reader includes an image obtaining component thathas a field of view (FOV) centered on an FOV axis, the sensor detectingrotation substantially about the movement axis and the movement axissubstantially parallel to the FOV axis.

Other embodiments include an apparatus for use with a handheld codereader to select at least one reader operating characteristic, theapparatus comprising a sensor for detecting movement of the handheldcode reader, a processor for determining, based on the movement of thereader, an optimum setting for the at least one reader operatingcharacteristic and a characteristic controller for selecting optimumcharacteristic settings for the code reader as a function of the readermovement, wherein the at least one operating characteristic includes atleast one of lens focus and exposure time.

In some cases the at least one reader operating characteristic isexposure time and wherein the optimum setting reduces the exposure timeas the degree of movement increases. In some cases the sensor furthersenses the direction of movement of the reader and the processordetermines the optimum setting as a function of the direction in whichthe reader is moving. In some cases the method further includes the stepof using the sensed direction of the reader movement to predict thedirection in which lens focus is to be adjusted.

To the accomplishment of the foregoing and related ends, the invention,then, comprises the features hereinafter fully described. The followingdescription and the annexed drawings set forth in detail certainillustrative aspects of the invention. However, these aspects areindicative of but a few of the various ways in which the principles ofthe invention can be employed. Other aspects, advantages and novelfeatures of the invention will become apparent from the followingdetailed description of the invention when considered in conjunctionwith the drawings.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a perspective view of a handheld reader constructed inaccordance with one aspect of the present invention;

FIG. 2 is a schematic illustrating components of the reader of FIG. 1;

FIG. 3 is a flowchart illustrating a method wherein reader movement isused to alter reader operating characteristics;

FIG. 4 is a flow chart illustrating a method whereby a readerautomatically selects an exposure period and moment as a function ofreader movement;

FIG. 5 is a flow chart illustrating a method whereby a readerautomatically controls optics focus as a function of reader movement toexpedite the settling time of the focusing process; and

FIG. 6 is a perspective view of a reader that includes an aimingapparatus.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to the drawings wherein like reference numerals correspondto similar elements throughout the several views and more specifically,referring to FIGS. 1 and 2, the present invention will be described inthe context of an exemplary handheld symbol or mark reader 10 includinga housing 101 having a grip section 102, a body/barrel section 104 and atrigger 111, a CCD or other type camera/sensor 105, optics/lenses 106, amotion sensor or accelerometer 50, a processor 108, one or more LEDs132, a speaker/audio component 134, a battery 53, a memory 52 and alight source/subassembly 54. Each of the processor 108, sensor 50,battery 53, optics 106, memory 52 and light source 54 are mounted in orotherwise supported by housing 101. Processor 108 is linked to each ofsensor 50, battery 53, memory 52, optics 106, camera/sensor 105, source54, LEDs 132 and output 134. Processor 108 runs programs stored inmemory 52 to perform inventive processes.

Optics 106 focus a field of view 107 on a CCD or other type of sensordevice 105 within reader 10 which in turn generates data comprising ahigh resolution image of items located within the field of view 107.Field of view 107 is centered along a FOV axis 109. Thus, when the fieldof view 107 is directed toward a mark 112 applied on a surface 128 of anitem 130 and reader 10 is activated to generate an image, an imageincluding the mark 112 is obtained.

According to one aspect of the present invention, different reader 10settings can be selected by a reader user by moving the reader 10through a predefined movement or machination that is selected as anaction that would not typically occur during normal reader operations.For example, a predefined machination may include rotation of reader 10substantially about the field of view axis 109 through at least athreshold angle (e.g., between 45° and 90°) in a counter-clockwisedirection. Another predefined machination may include a clockwiserotation quickly followed by a counter-clockwise rotation of somethreshold angle. Other predefined machinations are contemplated.

With respect to settings that may be set in this manner, virtually anyoperating characteristic may be set including an illumination effect(dark field, light field, diffuse light, etc.), which decoding algorithmto choose to decode a mark to be imaged, combinations of illuminationeffect/decoding algorithms, etc. Hereinafter, the term “recipe” is usedgenerally to refer to different sets of operating characteristics (e.g.,illumination effect and decoding algorithm).

Referring again to FIGS. 1 and 2, when trigger 111 is activated, reader10 obtains an image. After mark 112 has been imaged, processor 108 isprogrammed to decode the mark in the image. When a mark is successfullydecoded, processor 108 may generate a signal via one of LEDs 132 oraudio output 134 confirming a successful decoding process.

Referring now to FIG. 3, a process 150 for changing a reader recipe viaa predefined reader motion or machination is illustrated. Beginning atblock 152, a recipe sequence is provided. Here, a recipe sequence meansa sequence of operating characteristics or operating characteristic setsthat should be cycled through when one of the predefined readermovements occurs. For example, one recipe sequence corresponding toillumination effect may cycle from dark field to light field to adiffused lighting effect and then back to dark field illumination. Asanother example, another recipe sequence corresponding to decodingalgorithms may include a first decoding algorithm, followed by a seconddecoding algorithm, followed by a third decoding algorithm all the waythrough a tenth decoding algorithm and they may return back to the firstdecoding algorithm. As one other example, an illuminationeffect/decoding algorithm recipe sequence may start with a first recipeincluding dark field illumination and the first decoding algorithmfollowed by a second recipe including dark field illumination and asecond decoding algorithm followed by light field illumination and thefirst decoding algorithm, and so on.

Referring still to FIG. 3, at block 154, when a reader 10 (see againFIG. 1) is initially turned on, the reader will start with a defaultrecipe such as, for instance, the combination of dark field illuminationand a first decoding algorithm. At block 156, the reader processor isinitiated with a specific recipe changing motion. For example, anexemplary recipe changing motion may require rotation of the reader 10about the field of view access 109 through an angle of between 45° and90° in the counter-clockwise direction.

Referring still to FIGS. 1, 2 and 3, at block 158 reader motion ismonitored. At block 160, reader motion is compared to the recipechanging motion that was specified at block 156. Where the reader motioncorresponds to the recipe changing motion at block 160 control passes toblock 162 where the processor 108 switches to the next recipe in therecipe sequence that was specified at block 152. After block 162,control passes back up to block 158 where reader motion is againmonitored. In at least some applications when a recipe is altered viathe prescribed machination, an LED 132 or the like may blink,illuminate, change color or otherwise visually signal to a user that achange has occurred.

Referring still to FIG. 3, at block 160, if reader motion does notcorrespond to the recipe changing motion, control passes back up toblock 158 where reader motion is continually monitored. Thus, it shouldbe appreciated that multiple recipe changing motions may occur one afteranother causing recipe changes corresponding to the sequence to occurfor each one of the motions at block 162.

According to another aspect of the present invention, motion sensor 50is used in conjunction with processor 108 to select and/or modify otherreader 10 operating characteristics such as lens focus, exposure time,the image moment to optimize reader IO operation, etc. For example, oneproblem with reader 10 that may be minimized by adjusting certainoperating characteristics based on the sensed movement of reader 10 ismotion blur. Motion blur may occur when reading very small codes,reading codes from large distances, or reading codes when the reader 10is in motion. Motion blur can be especially problematic when a readeruser has shaky hands due to the nature of an environment and the usercannot hold the reader 10 steady for even a short time period. Accordingto one aspect of the present invention, processor 108 measures movementof the reader 10 and uses that information to minimize or even eliminatemotion blur. For example, processor 108 may be programmed to usemovement information to select an optimal setting for operatingcharacteristics such as exposure time and image moment. For example, ina similar example, where an image is obtained over a one second period,time image data may be stored in one-tenth second intervals. Where nomovement occurs over the entire second, all of the stored data may beused to generate the image for decoding. Where movement occurs, however,during the last half of the imaging second, the first half second ofdata may be used to generate the image for decoding. Here, the exposuretime and movement would correspond to the first half of the datagenerating second. In another example, processor 108 does not acquire animage while the motion of reader 10 is above a certain threshold levelof movement.

Referring now to FIG. 4, an exemplary method 140 for selecting an imagemoment and an exposure time as a function of reader movement isillustrated. Referring also to FIGS. 1 and 2, at block 141 a quantityrange of required image data is specified for processor 108. Here, asknown in the art, as camera exposure time is increased, the quantity ofdata collected by the reader camera increases. The greater the amount ofdata collected by a camera, typically, the better the resulting image.Thus, there is typically some optimal quantity of image data that shouldbe collected to generate an image. However, there is also typically somequantity of data less than the optimal quantity that is usuallysufficient for generating an image for decoding purposes. Here, at block141 both the optimal and sufficient quantities of image data arespecified for processor 108. At block 142, an image collecting processis initiated. Here, image collection initiation may comprise pointingthe reader 10 so that the field of view 107 is directed at a mark to beimaged and depressing trigger 111.

Referring still to FIGS. 1, 2 and 4, at block 143 data collected byreader 10 is stored. At block 144, processor 108 determines whether ornot the optimal amount of image data has been collected. This step 144typically is time related. Where an optimal amount of data has beenobtained, at block 144, control passes to block 149 where the datacollecting process is halted and the processor 108 attempts to decodethe imaged mark. Continuing, at block 144, where the optimal amount ofimage data has not yet been collected, control passes to block 145. Atblock 145, processor 108 monitors for reader movement. At block 146,where reader movement is less than a threshold level control passes backup to block 143 where image data continues to be stored. At block 146,where reader movement exceeds the threshold level, control passes toblock 147.

Referring to FIG. 4, at block 147, processor 108 determines whether ornot sufficient image data has already been obtained and stored. Wheresufficient data for decoding purposes has been obtained and stored,control passes from block 147 to block 149 where the collecting processis halted and decoding is attempted. At block 147, where sufficientimage data has not been obtained, control passes to block 148 where theimage data is cleared from memory after which control passes back up toblock 142 where the image collecting process is again initiated.

Thus, it should be appreciated that the method of FIG. 4 effectivelyselects the exposure time and the image moment for a reader as afunction of reader movement.

In a similar fashion, in at least some embodiments where data must becollected for at least a minimum period, after the trigger is activated,movement may be monitored and data may be collected and stored to forman image during the first relatively stationary period that occurs afterthe triggering activity. Thus, for instance, where data has to becollected for at least one-half of one second to form a decodable image,after triggering, data may be collected until one-half second of datacorresponding to a stationary reader has been obtained and then theone-half second of data corresponding to the stationary reader may beused to form an image for decoding.

According to another aspect of the present invention processor 108 maybe programmed to use the movement as measured by motion sensor 50 in anauto-focus control algorithm. For example, if reader 10 is moving awayfrom an object 130 to be scanned, the direction of the movement may bedetected and used by processor 108 to adjust operating characteristicssuch as focal length of the field of view. Conversely, if reader 10 ismoved towards an object 130 to be scanned, the movement direction may bedetected and used by processor 108 to change the focus settings toshorten the focal length.

Referring now to FIG. 5, an exemplary method for adjusting reader focusas a function of the direction in which a reader is moved with respectto a mark being imaged is illustrated. Referring also to FIGS. 1 and 2,at block 172 the reader 10 is used to obtain an image. At block 174processor 108 determines whether or not the obtained image is in focususing standard algorithms known in the art. At block 186, where theimage is not in focus, processor 108 adjusts the optics lens 106 atblock 186 to bring the image into focus. Once the image is in focus,control passes from block 174 to block 176. At block 176, processor 108senses reader motion via signals generated by accelerometer or motionsensor 50. At block 178, when processor 108 determines that the readeris moving in the direction of the reader's field of view (i.e., toward amark being imaged) control passes to block 180 where processor 108controls the optics/lens 106 to shorten the field of view focal point.After block 180 control passes back up to block 172 where another imageof the mark is obtained and the process is repeated. Here, the focushunting sub-processes at block 186 would be around a smaller window ofpossible focal points so that the hunting process would be expedited.

Referring still to FIGS. 1, 2 and 5, where reader movement is not in thedirection of the field of view control passes to block 182. At block182, where reader movement is in the direction opposite the field ofview, control passes to block 184 where processor 108 lengthen the fieldof view focal point by adjusting the optics/lenses 106 after whichcontrol again passes back up to block 172 where the process continues.At block 182, where reader movement is not in the direction opposite thefield of view, control simply passes back up to block 172 where anotherimage is obtained.

Referring to FIG. 6, according to another aspect of the presentinvention, a reader 10 may include a laser aimer 190 that is used toassist a user in placing a mark within the field of view of reader 10.Reader 10 power consumption can be reduced by turning off the laseraimer when not needed. An aimer can be turned off when reader 10 has notbeen in motion for a certain amount of time indicating that the readeris generally dormant. When reader 10 is picked up, this motion may besensed and the laser aimer may be automatically turned back on. In thealternative, the laser aimer may remain off until the reader is pickedup and moved and then held stationary for a short time consistent with amark reading activity.

One or more specific embodiments of the present invention have beendescribed above. It should be appreciated that in the development of anysuch actual implementation, as in any engineering or design project,numerous implementation-specific decisions must be made to achieve thedevelopers' specific goals, such as compliance with system-related andbusiness related constraints, which may vary from one implementation toanother. Moreover, it should be appreciated that such a developmenteffort might be complex and time consuming, but would nevertheless be aroutine undertaking of design, fabrication, and manufacture for those ofordinary skill having the benefit of this disclosure.

Thus, the invention is to cover all modifications, equivalents, andalternatives falling within the spirit and scope of the invention asdefined by the following appended claims. As such, the following claimsare made:

What is claimed is:
 1. A method for use with a handheld code reader thathas a plurality of operating characteristics where each operatingcharacteristic can have a plurality of different states wherein a recipeincludes a specific set of states of at least first and secondcharacteristics, the method for switching between recipes and comprisingthe steps of: specifying a circumstance set including at least one ofreader orientation and a threshold movement level for the reader;monitoring at least one of movement and orientation of the reader;determining when the circumstance set occurs a first time; changing froma first recipe to a second recipe when the circumstance set occurs;continuing to monitor for at least one of movement and orientation ofthe reader; determining when the circumstance set occurs a second time;changing from the second recipe to a third recipe when the circumstanceset occurs a second time; wherein the first recipe, the second recipeand the third recipe are different recipes.
 2. The method of claim 1wherein the plurality of operating characteristics include anillumination mode and a code decoding algorithm.
 3. The method of claim1 wherein the reader includes an indicator and wherein the indicator isactivated whenever the recipe is modified.
 4. The method of claim 3wherein the indicator includes a light emitting diode.
 5. The method ofclaim 1, wherein the circumstance set includes a threshold movementlevel of the reader and the handheld code reader includes a movementaxis, the movement detected including movement with respect to themovement axis.
 6. The method of claim 5 wherein the movement detectedincludes rotation substantially about the movement axis.
 7. The methodof claim 5 where the code reader includes an image obtaining componentthat has a field of view (FOV) centered on the movement axis and whereinthe movement detected includes rotation substantially around themovement axis.
 8. The method of claim 7 wherein the threshold movementlevel specifies rotation substantially around the movement axis througha threshold rotation angle.
 9. The method of claim 8 wherein thethreshold rotation angle is between 45 degrees and 180 degrees.
 10. Themethod of claim 5 where the code reader includes an image obtainingcomponent that has a field of view (FOV) centered on an FOV axis, themovement detected includes rotation substantially about the movementaxis and the movement axis is substantially parallel to the FOV axis.11. The method of claim 5 wherein the code reader movement is sensed bya motion sensor.
 12. The method of claim 1 wherein the code readerincludes a trigger member and the step of changing the current recipeincludes changing the recipe when the trigger member is activated andthe detected reader movement exceeds the threshold movement level.
 13. Amethod for use with a handheld code reader to select at least one readeroperating characteristic, the method comprising the steps of: detectinga first movement of the handheld code reader; determining, based on thefirst movement of the reader, a first optimum setting for the at leastone reader operating characteristic; setting the reader operatingcharacteristic to the first optimum setting; detecting a second movementof the handheld code reader; determining, based on the second movementof the reader, a second optimum setting for the at least one readeroperating characteristic; setting the reader operating characteristic tothe second optimum setting; wherein the at least one operatingcharacteristic includes at least one of lens focus and exposure time.14. The method of claim 13 wherein the at least one reader operatingcharacteristic is lens focus and wherein the optimum setting for the atleast one operating characteristic includes lens focusing settings thatare altered as the code reader is moved toward and away from a code tobe read.
 15. The method of claim 13 wherein the at least one readeroperating characteristic is exposure time and wherein the optimumsetting reduces the exposure time as the degree of movement increases.16. The method of claim 13, wherein the sensing movement step furtherincludes sensing the direction of movement of the reader.
 17. The methodof claim 16, further including the step of using the sensed direction ofthe reader movement to predict the direction in which the focus needs tobe adjusted.
 18. An apparatus for use with a handheld code reader thathas a plurality of operating characteristics where each operatingcharacteristic can have a plurality of different states wherein a recipeincludes a specific set of states of at least first and secondcharacteristics, the apparatus for switching between recipes andcomprising: a sensor for monitoring at least one of movement andorientation of the reader; a processor for determining, based on atleast one of movement and orientation of the reader, when thecircumstance set occurs a first time; a characteristic controller forchanging from a first recipe to a second recipe when the circumstanceset occurs the first time; the processor determining, based on at leastone of movement and orientation of the reader, when the circumstance setoccurs a second time; and the characteristic controller changing fromthe first recipe to a second recipe when the circumstance set occurs thesecond time.
 19. The apparatus of claim 18 wherein the plurality ofoperating characteristics include an illumination mode and a codedecoding algorithm.
 20. The apparatus of claim 18 wherein the readerincludes an indicator and wherein the indicator is activated wheneverthe recipe is modified.
 21. The apparatus of claim 18, wherein thecircumstance set includes a threshold movement level of the reader andthe handheld code reader includes a movement axis, the movement detectedincluding movement with respect to the movement axis.
 22. An apparatusfor use with a handheld code reader to select at least one readeroperating characteristic, the apparatus comprising: a sensor fordetecting a first movement of the handheld code reader; a processor fordetermining, based on the first movement of the reader, a first optimumsetting for the at least one reader operating characteristic; and acharacteristic controller for selecting the first optimum settings forthe code reader as a function of the reader movement; the sensor fordetecting a second movement of the handheld code reader; the processorfor determining, based on the second movement of the reader, a secondoptimum setting for the at least one reader operating characteristic;and the characteristic controller for selecting the second optimumsetting for the code reader as a function of the reader movement;wherein the at least one operating characteristic includes at least oneof lens focus and exposure time.
 23. The apparatus of claim 22 whereinthe at least one reader operating characteristic is exposure time andwherein the optimum setting reduces the exposure time as the degree ofmovement increases.
 24. The apparatus of claim 22, wherein the sensorfurther senses the direction of movement of the reader and the processordetermines the optimum setting as a function of the direction in whichthe reader is moving.
 25. The apparatus of claim 24, further includingthe step of using the sensed direction of the reader movement to predictthe direction in which lens focus is to be adjusted.
 26. A method foruse with a handheld code reader that has a plurality of operatingcharacteristics where each operating characteristic can have a pluralityof different stated wherein a recipe includes a specific set of statesof at least first and second characteristics, the method for switchingbetween recipes and comprising the steps of: specifying a circumstanceset including at least one of reader orientation and a thresholdmovement level for the reader; with the reader held in the hand of auser, aligning the reader with a code; attempting to read the code usingthe reader; after attempting to read the code using the reader and whilethe reader remains in the hand of the user, monitoring at least one ofmovement and orientation of the reader; determining when thecircumstance set occurs; and changing from a current recipe to a nextrecipe when the circumstance set occurs.